Method to generate, verify and deny an undeniable signature

ABSTRACT

The aim of the invention is to propose the generation, verification and denial of an undeniable signature which has a size smaller than the currently available undeniable signatures, i.e. less than 80 bits.  
     This aim is achieved by the method to generate an undeniable signature (y 1 , . . . , y t ) on a set of data, this method comprising the following steps: 
         transforming the set of data (m) to a sequence of a predetermined number (t) of blocks (x 1 , . . . , x t ), these blocks being members of an Abelian group, this transformation being a one way function,    applying to each block (x i ) a group homomorphism (f) to obtain a resulting value (y i ), in which the number of elements of the initial group (G) is larger than the number of elements (d) of the destination group (H).

FIELD OF THE INVENTION

This invention concerns the field of electronic signatures, in particular the concept of undeniable signature. By undeniable signature, it is meant signatures which are non-self-authenticating, i.e. where signatures can only be verified with the signer's consent. However, if a signature is only verifiable with the aid of a signer, a dishonest signer may refuse to authenticate a genuine document. Undeniable signatures solve this problem by adding a new component called the denial protocol in addition to the normal components of signature and verification.

BACKGROUND ART

An undeniable signature is a cryptographic scheme similar to a classical digital signature except that the recipient of a message cannot verify its validity using only the public key of the signer: he needs also to interact with this one in order to be convinced of validity of the signature. This opposes to the so called universal verifiability of classical digital signatures where anybody knowing the signer's public key is able to verify the signature at any time. In some applications such as signing a contract it is desirable to keep the signer's privacy by limiting the ability to verify this signature. However, an undeniable signature does not abandon the non repudiation property. Indeed, in the case of a dispute the signer could be compelled by an authority to prove the invalidity of a signature, otherwise this would be considered as an attempt of denying a valid signature. As a side benefit, undeniable signature could in principle be arbitrarily small e.g. as small as a MAC, although no such signatures were proposed so far. An undeniable signature scheme is composed of a signature generation algorithm, a confirmation protocol to prove the validity of a signature and a denial protocol in order to prove the invalidity of an alleged non signature. These two protocols often consist of an interactive proof.

Since the invention of the first undeniable signature scheme proposed by D. Chaum [see EP 0 318 097], a certain amount of work has been dedicated to its development and different improvements. Until the proposition of an undeniable signature scheme based on RSA by Gennaro et al. [U.S. Pat. No. 6,292,897], all the other undeniable signatures were based on the discrete logarithm problem. More recently, two undeniable signatures based on different problems have been proposed. The first one is based on pairings [B. Libert & J-J Quisquater “Identity based undeniable signatures” Cryptology ePrint Archive, Report 2003/206, 2003] and the second one is based on a quadratic field [see EP 1 185 025].

AIM OF THE INVENTION

The aim of the invention is to propose an undeniable signature which has a size smaller than the currently available undeniable signatures, i.e. less than 80 bits. The size could be an issue in several applications such as bank payments, in which the card holder wish to keep a trace of each transaction in the card.

This aim is achieved by the method as claimed in the claim 1.

In the present application, we provide a new computational problem called Group Homomorphism Interpolation Problem (GHIP) whose solution consists in finding some images of some given points under an homomorphism already interpolated by some given points. We then explain some links of GHIP with some known problems in cryptography.

DETAILED DESCRIPTION OF THE INVENTION

Problem Definitions: Given two Abelian groups G and H, we say that a set of points {(x_(i),y₁), . . . , (x_(s),y_(s))}⊂G×H interpolates in a group homomorphism if there exists a group homomorphism f: G->H such that f(x_(i))=y_(i) for i=1, . . . , s. We say that a set of points B⊂G×H interpolates in a group homomorphism with another set of points A⊂G×H if A∪B interpolates in a group homomorphism. We state here the Group Homomorphism Interpolation problem (GHI problem) and its decisional problem (GHID problem).

GHI Problem (Group Homomorphism Interpolation Problem)

Parameters: two Abelian groups G and H, a set of s points A⊂G×H.

Input: x₁, . . . , x_(t)∈G.

Problem: find y₁, . . . , y_(t)∈H such that {(x₁,y₁), . . . , (x_(t),y_(t))} interpolates with A in a group homomorphism.

GHID Problem (Group Homomorphism Interpolation Decisional Problem) Parameters: two Abelian groups G and H, a set of s points A⊂G×H. Input: a set of t points B⊂G×H. Problem: does B interpolate with A in a group homomorphism?

We first notice that when the x-coordinates of points in A generate G then there is at most one solution. A more complete result on the uniqueness notion is exposed below.

Theorem 1. Let G, H be two finite Abelian groups. We denote d and λ the order and exponent of H respectively. Let x₁, . . . , x_(s)∈G which span G′. The following properties are equivalent. In this case, we say that x₁, . . . x_(s) H-generate G.

1. For all y₁, . . . , y_(s)∈H, there exists at most one group homomorphism f: G→H such that f(x_(i))=y_(i) for all i=1, . . . s.

2. There exists a unique group homomorphism φ: G→H such that φ (x_(i))=0 for i=1, . . . , s, namely φ=0.

3. The set Hom(GIG′,H) of all group homomorphisms from GIG′ to H is restricted to {0}.

4. gcd(#(GIG′), d)=1.

5. G′+dG=G.

6. G′+λG=G.

7. x₁ mod dG, . . . , x_(s) mod dG span GIdG.

8. x₁ mod λG, . . . , x_(s) mod λG span GI λG.

In what follows we first wonder if x₁, . . . , x_(s) H-generate G. If yes we second wonder if the set of (x_(i), y_(i)) points is accepted by GHID Problem as input with (G, H) as parameters, i.e. that it interpolates in a group homomorphism. Note that this homomorphism is necessarily unique. If yes we finally consider GHI and GHID Problems with A={(x_(i), y_(i)); i=1, . . . , s}.

LINKS WITH WELL KNOWN PROBLEMS EXAMPLE 1

We take a cyclic group G of order q, H=Z_(q), and a generator g of G. The set A={(g, 1)} interpolates in a group homomorphism. Finally we notice that the GHI Problem is exactly the discrete logarithm problem.

EXAMPLE 2

We take a cyclic group G=H, and a generator g of G. For any a∈Z, A={(g, ag)} interpolates in a group homomorphism which is the exponentiation to the power a. Finally, we notice that GHI and GHID Problems with t=1 are exactly the Diffie-Hellman problem and the decisional Diffie-Hellman problem respectively.

EXAMPLE 3

Let n=p×q such that p, q are different odd primes and H={−1, +1}. We let x₁, x₂∈Z_(n)* be such that x₁ is a quadratic residue modulo p and not modulo q, and that x₂ is a quadratic residue modulo q, and not modulo p. We notice that A={(x₁, 1), (x₂, −1} interpolates in a unique group homomorphism which is $\left( \frac{.}{p} \right).$ Since it is easy to compute $\left( \frac{.}{n} \right).$ the GHI and GHID problems are equivalent to distinguishing quadratic residues modulo n from non quadratic residues.

EXAMPLE 4

Here, we consider the well known RSA cryptosystem. Let n=pq be an RSA modulus and G=H=Z_(n)*. Let f: Z_(n)*→Z_(n)* be defined by f(x)=x^(e) mod n for an exponent e such that gcd(e, φ(n))=1. Set d=e⁻¹ modφ(n). Given s pairs (x_(i) ^(e)mod n, x_(i))∈Z_(n)*×Z_(n)* for i=1, . . . s such that the first coordinates Z_(n)*-generate Z_(n)*, the RSA decryption problem of a challenged ciphertext is exactly the GHI problem with the parameter t=1.

EXAMPLE 5

Given d∈{2, 3, 4} and given an integer n such that d divides φ(n), we let G=Z_(n)* and H=Z_(d).

EXAMPLE 6

We show here how we can apply the GHI problem to the Bilinear Diffie-Hellman Problem (BDHP) on which the identity based cryptosystem of Boneh and Franklin is based. Let ê: G₁×G₁→G₂ be a bilinear, non-degenerate and computable mapping, where G₁ and G₂ are cyclic groups of order of a large prime p. Let P be a generator of G₁, we can state the BDHP as follows: given three random elements aP, bP and cP∈G₁, compute ê(P, P)^(abc). BDHP is equivalent to GHIP with the following parameters: A={(P, ê(aP, bP))} and x₁: =cP.

EXAMPLE 7

Let n=p×q such that p=rd+1 and q are prime, gcd(r, d)=1, gcd(q−1, d)=1, with d smooth. We take G=Z_(n)* and H=Z_(d). We can easily compute a group homomorphism by first raising to the power r(q−1) then computing a discrete logarithm using the Pohlig-Hellman algorithm.

EXAMPLE 8

Let consider the Paillier encryption function that maps an element (x, y)∈Z_(n)×Z_(n)* to the element g^(x). y^(n) mod n² of Z_(n) ₂ * where g is an element of Z_(n) ₂ * whose order is a multiple of n. For a such g, the Paillier encryption function is an isomorphism. Thus, assuming we have s pairs of plaintextsjciphertexts that generate Z_(n)×Z_(n)* resp. Z_(n) ₂ * , the decryption problem of a challenged ciphertext corresponds to the GHI problem with t=1, G=Z_(n) ₂ * and H=Z_(n)×Z_(n)*. This application of GHIP to the decryption problem can be adapted to every homomorphic encryption scheme.

Note that Examples 3, 4, 5, 6, 7, 8 include trapdoors in order to interpolate the group homomorphism.

Proof Protocol

Let G, H of order d, A={(g₁, e₁), . . . , (g_(s), e_(s))} be parameters of a GHI problem. We assume that we have a prover who knows an interpolating group homomorphism f: G→H and wants to convince a verifier in an interactive proof. Let k be an integer. He performs the following interaction with a verifier.

GHIproof_(k)(A)

Parameters: G, H, d

Input: k, A={(g₁, e₁), . . . , (g_(s), e_(s))}∈G×H

1: The verifier picks r_(i)∈G and a_(ij)∈Z_(d) at random for i=1, . . . , k and j=1, . . . , s. He computes u_(i)=dr_(i)+a_(i,1)g₁+ . . . +a_(i,s)g_(s) for i=1, . . . , k. He sends u₁, . . . , u_(k) to the prover.

2: The prover computes v_(i)=f(u_(i)). He sends a commitment <v_(i)> to v₁, . . . , v_(k) to the verifier.

3: The verifier sends all r_(i)'s and a_(i,j)'s to the prover.

4: The prover checks that the u_(i)'s computations are correct. He then opens his commitment.

5: The verifier checks that v_(i)=a_(i,1)e₁+ . . . +a_(i,s)e_(s) s for i=1, . . . , k.

A commitment scheme can be applied here, e.g. Halevi-Micali commitment scheme.

Theorem 2. Assuming that g₁, . . . , g_(s) H-generate an Abelian group G, let d be an integer and e₁, . . . , e^(s)∈H, where H is an Abelian group of order d. We consider the GHIproof_(k)(A) protocol with A={(g₁, e₁), . . . , (g_(s), e_(s))}.

i. Assuming that the prover and the verifier are honest, the protocol always succeeds.

ii. Assuming that the commitment scheme is zero-knowledge, the above protocol is zero-knowledge against any verifier.

iii. For any θ>0, assuming that the protocol succeeds with probability greater than $\frac{1}{p^{k}}\left( {1 + \theta} \right)$ (where p is the smallest prime factor of d), with a honest verifier, for any ε>0 there exists an extractor with a time complexity factor $O\left( {\log\frac{1}{ɛ}} \right)$ which can compute an interpolating group homomorphism from the prover with probability at least 1−ε.

Proof (sketch). Property i is quite clear. Property ii is proven by constructing a simulator for the transcript of the protocol without the secret of the prover. For this we need to extract a function f out of the prover. We realize that the Verifier information in Step 3 reveals no useful information to the prover because he had to commit to the information he reveals in Step 4. This means that the Prover must be able to compute it even without the information from the Receiver particularly if the commitment is statistically binding. Hence the prover must be able to compute this function f.

Theorem 3. Assuming that x₁, . . . , x_(s) H-generate an Abelian group G, H is an Abelian group of order d and y₁, . . . , y_(s)∈H such that A={(x₁,y₁), . . . , (x_(s),y_(s))) interpolates in a group homomorphism between G and Z_(d). For B={(x_(s+1), y_(s+1)), . . . , (x_(s+t), y_(s+t))} we consider the GHIproof_(k)(A∪B) protocol.

i. Assuming that the prover and the verifier are honest, the protocol always succeeds.

ii. Assuming that the commitment scheme is statistically hiding, the above protocol is statistically zero-knowledge against any verifier.

iii. Assuming that the protocol succeeds with probability greater than $\frac{1}{p^{k}}$ (where p is the smallest prime factor of d) with a honest verifier, then B interpolates with A in a group homomorphism. Signature Scheme

We now describe our undeniable signature scheme.

Public parameters. We let integers k, k′, l, s, t be security parameters and “group types” for G and H.

Primitives. We use two deterministic random generators Gen₁ and Gen₂ and a commitment scheme.

To generate the public and secret key, a particular optional procedure should be used to ensure that the keys comply with the following mechanisms:

1. The signer selects Abelian groups G and H of given type together with a group homomorphism f: G→H. He computes the order d of H. He submits his identity I together with G, H and d to the identity authority.

2. The authority first checks that G and H are of the required type and that d is correct, then picks a random number p that is sent to the signer.

3. The signer computes the s first values (g₁, . . . , g_(s)) from Gen₁(ρ) and e_(i): =f(g_(i)), i=1, . . . s. He sends (e₁, . . . , e_(s)) to the authority. We set A_(g): ={(g₁, e₁), . . . , (g_(s), e_(s))}. Then the signer interacts in a GHIproof_(k),(A_(g)) protocol with the authority in order to prove the validity of the e_(i)'s.

4. Finally, the authority computes a signature C for (I, G, H, d, ρ, (e₁, . . . , e_(s))).

The signer should be limited to a few registration attempts to the authority.

Public Key. K_(p)=(G, H, d, ρ, (e₁, . . . , e_(s)), with an optional I, C.

Secret Key. K_(s)=f

Signature generation. A message m is first used in order to generate x₁, . . . , x_(t) from Gen₂ (m). The signer computes y_(i)=f(x_(i)) for j=1, . . . , t. The signature is (y₁, . . . , y_(t)). In other words, this method comprises the following steps:

transforming (see Gen₂) the set of data (m) to a sequence of a predetermined number (t) of blocks (x₁, . . . , x_(t)), these blocks being members of an Abelian group, this transformation being a one way function,

applying to each block (x_(i)) a group homomorphism (f) to obtain a resulting value (y_(i)), in which the number of elements of the initial group (G) is larger than the number of elements (d) of the destination group (H).

The fact that the number of elements of the destination group (H) is smaller than the initial group (G) entails that the representation of all elements of the initial group need a larger numeric value than the representation of the destination group.

Taking the example 7: the initial group is Z_(n)* where n=p×q, p and q are two prime number of 512 bits. These numbers, have a sufficient size to avoid a retrieval through a factorization of n. The size of the initial group will be about 2¹⁰²⁴.

According to the example 7, we have selected 2²⁰+7 as the number of destination elements which is preferably a prime number. The known confirmation and denial protocols were not able to challenge a signature when the number of elements in the initial and destination groups is not the same.

Confirmation Protocol. Compute g₁, . . . , g_(s) from the public key, x₁, . . . , x_(t) from the message m, run GHIproof_(k)({(g_(i), e_(i)); i=1, . . . , s}∪{(x_(j), y_(j)); j=1, . . . , t}).

In other words, the confirmation protocol of the undeniable signature (y₁, . . . y_(t)) generated above, this signature being confirmed by a Verifier an undeniable signature (y₁, . . . , y_(t)) of a message (m) generated by a Signer taking into account a predefined security parameter (k) of the confirmation protocol, this Signer having a public/secret key pair, this method comprising the following steps:

obtaining a personal value (ρ) of the Signer, this personal value being part of the public key (G, H, d, ρ, (e₁, . . . e_(s))) of the Signer,

extracting a first sequence of elements (e₁, . . . , e_(s)) from the public key,

generating (see Gen₁) a second sequence of elements (g₁, . . . g_(s)) from the personal value (ρ),

generating a third sequence of elements (x₁, . . . , x_(t)) from the message (m), the proof protocol GHIproof_(k) execute the following steps:

randomly picking challenge parameters r_(i)∈G and a_(ij)∈Z_(d) for i=1, . . . , k and j=1, . . . , s+t (the number of input elements is now extended to s+t) and computing a challenge value u_(i)=dr_(i)+a_(i1)g₁+ . . . a_(is)g_(s)+a_(is+1)y₁+ . . . +a_(is+t)y_(t),

sending by the Verifier the challenge value u_(i) to the Signer,

computing by the Signer the response value v_(i)=f(u_(i)),

calculating by the Signer a commitment value (<v_(i)>) of the response value (v_(i)) and sending it to the Verifier,

sending by the Verifier the challenge parameters r_(i) and a_(ij) to the Signer,

verifying by the Signer whether u_(i)=dr_(i)+a_(i1)g₁+ . . . a_(is)g_(s)+a_(is+1)y₁+ . . . +a_(is+t)y_(t), and in the positive event, the Signer opens the commitment on the response value (v_(i)),

verifying by the Verifier whether v_(i)=a_(i1)e₁+ . . . a_(is)e_(s)+a_(is+1)y₁+ . . . +a_(is+t)y_(t).

Denial Protocol. Let m be a message and (z₁, . . . , z_(t)) be an alleged non-signature. The prover and the signer compute g₁, . . . , g_(s) from the public key and x₁, . . . , x_(t) from the message. The signer computes the real signature (y₁, . . . , y_(t)). We repeat l times the following protocol.

1. The verifier picks r_(j)∈G, a_(ji)∈Z_(d) for i=1, . . . , s j=1, . . . t, and aλ∈Z_(p)* where p is the smallest prime dividing d. He computes ${u_{j}:={{{dr}_{j} + {\sum\limits_{i = 1}^{s}\quad{a_{ji}g_{i}}} + {\lambda\quad x_{j}\quad{and}\quad w_{j}}}:={{{\sum\limits_{i = 1}^{s}\quad{a_{ji}e_{i}}} + {\lambda\quad z_{j}\quad{for}\quad j}} = 1}}},{\ldots\quad{t.}}$ Set u: =(u₁, . . . , u_(t)) and w: =(w₁, . . . , w_(t)). He sends u and w to the prover.

2. The prover computes v_(j): =f(u_(j)) for j=1, . . . t. Since w_(i)−v_(j)=λ (z_(j)−y_(j)), he should be able to find λ if the alleged non-signature is really invalid and the verifier is honest. Otherwise, he sets λ to a random value. He then sends a commitment to λ to the verifier.

3. The verifier sends all r_(j)'s and a_(ji)'s to the prover.

4. The prover checks that all r_(j)'s and a_(ji)'s were generated correctly. He then opens the commitment to λ.

5. The verifier checks that the prover could find the right λ. Otherwise, we stop the protocol and the invalidity of the signature remains undetermined.

In other words, this method consist to deny to a Verifier by a Signer an alleged non-signature (z₁, . . . , z_(t)) of a message (m), this signature being intended generated according to the claims 1 to . . . by the Signer, this Signer having a public/secret key pair, this method taking into account a predefined security parameter (l) of the denial protocol and comprising the following steps:

obtaining by the Verifier a personal value (ρ) of the Signer, this personal value being part of the public key (G, H, d, ρ, (e₁, . . . e_(s))) of the Signer,

extracting by the Verifier a first sequence of elements (e₁, . . . e_(s)) from the public key,

generating by the Verifier and the Signer a second sequence of elements (g₁, . . . g_(s)) from the personal value (ρ),

generating by the Verifier and the Signer a third sequence of elements (x₁, . . . , x_(i)) from the message (m),

calculating by the Signer the true signature (y₁, . . . , y₁),

repeating the following steps l times, l being the predetermined security parameter,

randomly picking by the Verifier challenge parameters r_(j)∈G and a_(ji)∈Z_(d) for i=1, . . . , s and j=1, . . . , t and λ∈Z_(p)* where p is the smallest prime dividing d,

computing u_(j): =dr_(j)+a_(j1)g₁+ . . . a_(js)g_(s)+λ_(xj), and w_(j): =a_(j1)e₁+ . . . a_(js)e₁+ . . . a_(js)e_(s)+λz_(j) for for j=1 . . . t,

sending by the Verifier the challenge values u_(j) and w_(j) to the Signer,

computing by the Signer a response test value TV_(j): =(z_(j)−y_(j)).

for each j=1 to t, determining whether the test value TV_(j)=0,

in the negative event, calculating a test parameter λ_(j) according to the following formula: w_(j)−v_(j), =λ_(j) (z_(j)−y_(j))

determining an intermediate value IV, this value being equal to one valid test parameter λ and in case of no valid test parameter is found, selecting as intermediate value a random value,

sending a commitment value CT based on the intermediate value IV, to the Verifier

sending by the Verifier the challenge parameters r_(j), a_(ji) and a test parameter λ to the Signer,

verifying by the Signer whether u_(j)=dr_(j)+a_(j1)g₁+ . . . a_(js)g_(s)+λx_(j), and w_(j): =a_(j1)e₁+ . . . a_(js)e₁+ . . . a_(js)e_(s)+λz_(j) for j=1 . . . t hold, in the positive event, the Signer opens the commitment on the intermediate value (IV) to the Verifier,

verifying by the Verifier that the test parameter λ is equal to the intermediate value IV.

This denial protocol is inspired from Gennaro et al. [U.S. Pat. No. 6,292,897]. Furthermore, their undeniable signature scheme that is based on RSA corresponds to a special case of our scheme, namely with G=H=Z_(n)*, s=t=1 and the classical RSA signing function as homomorphism f. An other example that is a special case of our scheme is the undeniable signature of D. Chaum [D. Chaum, Zero-Knowledge Undeniable Signatures, Advances in Cryptology—Eurocrypt '90, LNCS 473, pp]. He considered G=H=Z_(p)* for a prime p and the homomorphism consisting in raising an element to the power of the private key.

Our setting makes possible to have H substantially smaller than G.

We notice that λ was chosen such that it can be uniquely retrieved for every nonzero values of Z_(d) that can be taken by the elements z_(j)−y_(j)'s. Namely, this is done by the following result.

Lemma 1. Let H be an Abelian group of order d, a, b∈H such that b≠0. Let λ be in {1, . . . p−1}, where p is the smallest prime dividing d. Then, if the equation a=λb has a solution in λ, then this one is unique.

Even if λ is uniquely determined for a general d, it offers computational advantages to choose d as a prime.

We propose here two variants of the key setup, where the signer can generate the public key by itself. In the first variant, he simply picks a random value ρ in order to generate the s values (g₁, . . . , g_(s)) from Gen₁ (ρ) and computes e_(i): =f(g_(i)). His public key is (G, H, ρ, (e₁, . . . , e_(s))). This variant requires a longer s such that the probability of generating some g_(i)'s that do not H-generate G is sufficiently low.

In the second variant, the signer can drastically reduce the size of s. However, the signer has to be able to solve the following problem in G. For a given δ∈G and g₁, . . . g_(s)∈G that H-generate G, find some elements ${r \in G},a_{1},\ldots\quad,{{a_{s} \in {Z_{d}\quad{such}\quad{that}\quad\delta}} = {{dr} + {\sum\limits_{i = 1}^{s}\quad{a_{i}{g_{i}.}}}}}$ He directly chooses some elements g₁, . . . g_(s)∈G that H-generate G and computes the corresponding e_(i)'s. The public key is (G, H, d, (g₁, . . . g_(s)), (e₁, . . . , e_(s))). Furthermore, the signer has to convince an authority or a verifier that the g_(i)'s really H-generate G. This can be done as follows.

Repeat m times:

1. The prover picks a δ₁∈G at random and sends a commitment to δ₁ to the verifier.

2. The verifier picks a δ₂∈G at random and sends δ₂ to the prover.

3. The prover computes some coefficients ${r \in G},a_{1},\ldots\quad,{{a_{s} \in {{Z_{d}\quad{such}\quad{that}\quad\delta_{1}} + \delta_{2}}} = {{dr} + {\sum\limits_{i = 1}^{s}\quad{a_{i}{g_{i}.}}}}}$

He sends r, a_(i), . . . a_(s) to the verifier and opens the commitment to δ₁.

4. The verifier checks that $\quad{{\delta_{1} + \delta_{2}} = {{dr} + {\sum\limits_{i = 1}^{s}\quad{a_{i}{g_{i}.}}}}}$ really holds.

Note in these variants the signer also have to run a GHIproof_(k), ((g₁, e₁), . . . , (g_(s), e_(s))) protocol with a verifier (recipient) or an authority. The latter possibility is adequate in order to save some GHIproof run protocols but requires the use of a certificate. A similar remark holds for the above protocol (H-generation of G) as well.

Security Analysis

Theorem 4 (Setup protocol). Let k′, k, d, s, G, H, f, Gen₁, Gen₂ be as in the setup of the above undeniable signature, we have the following security results.

i. Given a prime p, we let A_(p) be the subgroup of G of all terms whose orders are powers of p. Given p there is a unique k_(p) and a_(p1)≦ . . . ≦a_(pkp) sequence such that A_(p) is isomorphic to Z_(p^(a_(p1))) ⊕ Z_(p)^(a_(pkp)). The probability that g₁, . . . , g_(s)∈H-generate G denoted as P_(Hgen) satisfies ${P_{Hgen} \geq {\prod\limits_{p \in P_{d}}\quad\left( {1 - \frac{k_{p}}{p^{s}}} \right)}},$ where P_(d) is the set of all primes that are factors of gcd(#G, d).

ii. Assuming that the Setup protocol succeeds with probability greater than $\quad{\left( {\frac{1}{p} + \theta} \right)^{k}'}$ for θ>0, then the prover knows the secret key.

Theorem 5. Given k, k′, l, d, s, t, G, H, f, Gen₁, Gen₂, commit as in the above undeniable signature scheme. Assuming that the public key is valid, we have the following security results.

i. If the signer and the verifier are honest, the two protocols are complete: a valid signature will always be accepted by the confirmation protocol, and an invalid signature will always be rejected by the denial protocol.

ii. The scheme resists against existential forgery attacks: provided that Gen₂ is a random oracle, if an attacker who has access to the signing oracle and that queries Q_(G) times Gen₂ can later forge new signatures which are valid with probability q, then he can solve the GHI Problem on A={(g₁, e₁), . . . , (g_(s), e_(s))} successfully with probability q and similar complexity.

iii. The confirmation protocol is sound: if the signer is able to convince a verifier that a given signature is valid with probability q>p^(−k), then the signature is valid.

iv. The confirmation protocol is private: if a prover is able to convince a verifier that a given signature is valid with probability $q > \quad\left( {\frac{1}{p} + \theta} \right)^{k}$ (where θ is a constant), then we can extract from him a group homomorphism which solves the GHI Problem with arbitrarily high success probability.

v. The denial protocol is sound: if the signer is able to pass the protocol with probability q>p^(−l), then the alleged signature must be invalid.

vi. The confirmation protocol is zero-knowledge: for any verifier we can build a simulator for the protocol without the secret key.

vii. The denial protocol is zero-knowledge: for any verifier we can build a simulator for the protocol without the secret key.

Proof (Sketch).

i. The assertion i for the confirmation protocol follows from the completeness of GHIproof_(k). For the denial protocol, the assertion is proved by noticing that there is at least one index j such that z_(j)−y_(j)≠0 and that the prover will find the right λ.

ii. First, we show that an attacker Λ having access to a signing oracle can be simulated by an attacker without this access. Indeed, when Λ calls the signing oracle on a message m, the signing oracle will first produce a sequence of t values x₁, . . . , x_(t)∈G and then computes y_(i): =f(x_(i)) for i=1, . . . , t. From the point of view of Λ, this is completely equivalent to dispose of a random source generating pairs of the form (x, f(x)) since Gen₂ is modelized as a random oracle. Assuming that the g_(i)'S generate G I dG, we see that this source can be simulated by picking some random r∈G, a_(i)'s Z_(d), computing x: =dr+a₁g₁+ . . . +a_(s)g_(s) and f(x)=a₁e₁+ . . . a_(s)e_(s). We denote now x₁, . . . x_(t), the challenged elements of the GHI problem. We use our atttacker Λ in order to compute the f(x_(i))'s as follows. We simulate Gen₂ by computing $u_{i}:={{dr} + x_{i} + {\sum\limits_{j = 1}^{s}\quad{a_{ij}g_{j}}}}$ for some random r∈G, a_(ij ∈Z) _(d) and i=1, . . . t. Such u_(i)'s are indistinguishable from some uniformly picked elements in G. By standard proofs we show that forged signatures are necessarily one of the Gen₂ queries, so we can deduce f(x_(i)) from the value f(u_(i)) for i=1, . . . t.

iii. This directly comes from Theorem 3 property iii.

iv. This directly comes from Theorem 2 property iii.

v. A cheating prover willing deny a valid signature has to find the value of λ at each round of the protocol. Since, f(u_(j))=w_(j), the prover does not learn additional information with w_(j) and has to find λ from u_(j) uniquely. Similar, as in the proof of property iii he cannot find the λ since another distribution of the values u_(j) with another λ is indistinguishable from the first one. Assuming that the commitment scheme is perfectly binding the cheating prover cannot do better than answering a random λ.

vi. This comes from property ii in Theorem 3.

vii. This is done as in the publication “R. Gennaro, T. Rabin and H. Krawczyk, RSA-Based Undeniable Signatures, Journal of Cryptology, 13, pp”.

Various Embodiments and Discussions Thereof

Characters on Z_(n)*

In this section, we introduce the notion of multiplicative characters and study in particular some special cases in more details. These multiplicative characters are particulars cases of group homomorphism in which the number of elements in the initial group is larger than the destination group and therefore the construction of the claimed undeniable signature applies to these group multiplicative character.

The cases of order 2, 3 and 4 will be exposed in the following subsections.

Definition 1. Let n be an integer. A character χ on Z_(n)* is a map from Z_(n)* to C-{0} satisfying χ(ab)=χ(a)χ(b) for all a, b∈Z _(n)*

From this definition, we can quickly deduce that χ(1)=1 and that the value χ(a) is always a (λ(n))^(th) root of the unity for all a∈Z_(n)*, where λ(n) denotes the Carmichael function. We can also define a group structure on the set of characters on Z_(n)*. In this group, the product (group operation) χ₁χ₂ of the two characters χ₁ and χ₂ represents the map a→χ₁(a) χ₂(a) and the inverse χ⁻¹ maps each element a to χ(a)⁻¹.

Proposition. Let p be a prime and d an integer such that d|p−1.

1. The group of characters defined on Z_(p)* is a cyclic group of order p−1.

2. The characters on Z_(p)* of order dividing d form a cyclic subgroup of order d.

The second part of this proposition is especially interesting for us because we will consider characters of small order (e.g. 2, 3, 4) defined on Z_(n)* for n large.

We notice also that a character of order d maps the elements of Z_(p)* to the set {ζ_(d) ^(j)|0≦j≦d−1} where ζ_(d) denotes the unit e^(2πi/d) and i: ={square root}{square root over (−1 )}.

We provide a way to define certain multiplicative characters on Z_(n)* for a n being the product of two special primes. Since Z_(n)* is not cyclic, using the above definition to this case is not suitable. Moreover, it is more natural for our purposes to define such characters in the similar way the Jacobi symbol is defined from the Legendre symbol in the case of the quadratic residuosity (or character of order 2). First, assume we are given an integer d and two different primes p, q such that d|p−1 and d|q−1. From two characters χ₁ andχ₂ of order d defined on Z_(p)* respectively Z_(q)*, we define a character η of order d as follows: η(a):=χ₁(a mod p).χ₂(a mod q).

For each character χ of order d we will sometimes associate a logarithm function denoted as log_(χ). For an element a∈Z_(n)*, we know that χ(a) is of the form ζ_(d) ^(j) for a∈{0, 1, . . . d−1}. We define log_(χ)(a) equal to this j.

We present in the following subsections some complements that are specific to the cases d=2, 3, 4. For more details about the theory of this section such as proofs that are omitted, we refer to the book of Ireland and Rosen [K. Ireland and M. Rosen, “A Classical Introduction to Modem Number Theory: Second Edition”, Graduate Texts in Mathematics 84, Springer, 1990].

Characters or Order 2

Let p be an odd prime number. By this proposition, we know that there are only two characters of order 2, namely the trivial character ε that maps every elements to 1 and the Legendre symbol. We recall that the Legendre symbol (a/p) for an integer a with (a, p)=1 is 1 if a is congruent to a square modulo p (quadratic residue) and −1 if it is not the case (quadratic non-residue). It turns out that there are as many quadratic residues as non quadratic residues in Z_(p)* namely $\frac{p - 1}{2}$

For an odd integer n, the Jacobi symbol (a/n) for an a∈Z s.t. (a, n)=1 is defined as (a/n)=(a/p1)^(i1). (a/p2)^(i2) . . . (a/pk)^(ik) where the factorization into primes of n is p_(l) ^(il) . . . p_(k) ^(ik).

Some additional properties are given below.

Proposition. Let p be an odd prime, a, b∈Z and an odd n∈Z. Then

1. a^((p-1)/2)≡(a/p) (mod p).

2. (ab/n)=(a/n)(b/n).

3. If a≡b (mod n), then (a/n)=(b/n).

4. If a and b are odd. Then (a/b)(b/a)=(−1)^((a-i)/2*(b-1)/2). (Law of Quadratic Reciprocity) ${5.\quad\left( {2/n} \right)} = {\left( {- 1} \right)^{\frac{p^{2} - 1}{8}}.}$

Let consider a modulus n=pq. As we explained at the beginning of this section we define the characters on Z_(n)* by multiplying two characters defined on Z_(p)* and Z_(q)*. In this case this simply corresponds to the Jacobi symbol (a/n) or the Legendre symbols (a/p) or (a/q) and the trivial character.

Note also that the properties given in this proposition are used in order to compute the Jacobi symbol in a time complexity of O(log(n)²).

Characters of Order 3

Here, we need to introduce a new ring called the ring of Eisenstein integers. Indeed, this ring is the natural structure to study the characters of order 3 or the cubic residuosity.

In what follows, ω will always denote the complex number (−1+{square root}{square root over (−3)})/2. We define the ring of the Eisenstein integers as the set Z[ω]: ={a+bω|a, b∈Z} with the classical operations (addition, multiplication) of C. We notice that ω is a non trivial cubic root of 1 and satisfies ω²+ω+1=0.

For an element a∈Z[ω], we define the norm N(α)=α{overscore (α)}, where {overscore (α)} denotes the complex conjugate of α. This is the classical (squared) norm induced by the complex plane. From the definition, we have ${N\left( {a + {b\quad\omega}} \right)} = {{\left( {a - \frac{b}{2}} \right)^{2} + {\frac{3b^{2}}{4}4}} = {a^{2} - {ab} + {b^{2}.}}}$

It can be shown that Z[ω] is a unique factorization domain i.e. every elements can be decomposed in a product of irreducible elements uniquely up to a unit element. We can also call the irreducible elements the prime elements of Z[ω]. To avoid some confusion a prime of Z will be called a rational prime if the context is not clear. The units are the invertible elements and in this case all have a norm equal to zero. Hence, the units of Z[ω] are ±1, ±ω, ±ω². All prime numbers of Z[ω] are classified below.

Proposition. The following statements hold and the list of prime of Z[ω] is exhaustive.

1. Let p be a rational prime such that p≡1 (mod 3). Then, there exists a prime π such that N(π)=π{overscore (π)}=p.

2. If q is a rational prime such that q≡2 (mod 3), then q is also a prime in Z[ω].

3. 1-ω is prime and N(1-ω)=3.

The ideal generated by a single element σ∈Z[ω] is denoted by (σ) and is equal to σ·Z[ω].

Pr p siti n. Let π be a prime in Z[ω]. Then Z[ω]/(π) is a finite field with N(π) elements. We can also prove that the set {a+bω|0≦a,b≦q} resp. {0, 1, 2 . . . , p−1} form all representatives of the residue class field in the case where q≡2 (mod 3) resp. p≡1 (mod 3). We can also prove that for a prime π s. t. N(π)≢3 and α∈Z [ω] s. t. α≢0 (mod π), we have ${{\alpha\frac{{N(\pi)} - 1}{3}} \equiv {{\omega^{\mathbb{i}}\left( {{mod}\quad\pi} \right)}\quad{for}\quad{an}\quad i}} \in {\left\{ {0,1,2} \right\}.}$ This result ω^(i) is called the cubic residue character of α modulo π and is denoted as (α/π) or as χ_(π)(α). If α≡0 (mod π), we set χ_(π) (α)=0.

Let α and β be in Z [ω]. Suppose the prime factorization of β is $u{\prod\limits_{i = 1}^{k}\quad\pi_{i}^{e_{i}}}$ where N(π_(i))≠3 for all 1≦i≦k and u is a unit. Then the Jacobi-like symbol (α/β)₃ is defined as $\prod\limits_{i = 1}^{k}{\left( {\alpha/\pi_{i}} \right)_{3}^{e_{i}}.}$ In order to formulate the law of cubic reciprocity, we have to introduce the concept of primary. We say that an element α of Z [ω] is primary iff α≡−1 (mod 3). Note that the term “primary” does not only apply to prime number. Every elements possess exactly one associate that is primary. (An associate of an element σ is an element that is of the form uσ for a unit u.)

Proposition. Let π be a prime s. t. N(π)≠3 and α, β, γ∈Z [ω].

Let σ=3(A+Bω)−1 be a primary with A, B∈Z .

1. (α/π)₃=1 iff x³≡α (mod π) is solvable, i.e., iff α is a cubic residue.

2. (α β/γ)₃=(α/γ)₃(β/γ)₃

3. α≡β (mod γ)=>(α/β)₃=(β/γ)₃.

4. (Law of Cubic Reciprocity) If α and β are primary. Then (α/β)₃=(β/α)₃.

5. (ω/σ)₃=ω^(A+B).

6. (1−ω/σ)₃=ω^(2A).

We are now in the position to define the characters of order 3 on Z_(p)* for a rational prime p and their extensions on a composite modulus that is a Jacobi like symbol. We consider only the case where p≡1 (mod 3), since the characters are not trivial in this case. Set p=π{overscore (π)}. Recall first that the field Z [ω]/(π) can be represented by Z_(p)* since the set {0, 1 . . . p−1} contains all representatives and the multiplications are equivalent in the two cases. Thus, the cubic residue characters χ_(π) is completely defined on Z_(p)*. We directly deduce that χ_(π) ² is another non trivial character of order 3 and is even equal to χ_({overscore (π)}) on the rational integers. Let p, q be two different rational primes such that p≡q≡1 (mod 3) and π, σ∈Z[ω] such that N(π)=p and N(σ)=q. Let n=pq, the character on Z_(n)* produced by χ_(π) and χ_(σ) is denoted by χ_(πσ) and is defined as χ_(πσ)(a)=χ_(π)(a).χ_(σ)(a). The other characters are defined exactly in the same multiplicative way. There are 8 non trivial characters of order 3 defined on Z_(n)*, namely χ_(π), χ_({overscore (π)}), χ_(σ), χ_({overscore (σ)}), χ_({overscore (π)}σ), χ_(π{overscore (σ)}) and χ_({overscore (π)}{overscore (σ)}).

Here, we explain how to find these characters and how they can be computed. The first statement consists of finding a prime π∈Z[ω] such that N(π)=p≡1 mod 3 for a rational prime p. We assume here some knowledge on the algorithms of Tonelli and Cornacchia. For a given p, we have to find an element a+bω∈Z[ω] such that a²−ab+b²=p. This is equivalent to ${\left( {a - \frac{b}{2}} \right)^{2} + \frac{3b^{2}}{4}} = {p.}$ By introducing the two new variables ${s = {{a - {\frac{b}{2}\quad{and}\quad t}} = \frac{b}{2}}},$ we obtain s²+3t²=p for s, t∈Z. Now, it suffices to apply the algorithm of Cornacchia to solve this equation in s and t. This algorithm consists of finding an x∈Z such that x²≡−3 (mod p) (apply algorithm of Tonelli) and then applying the Euclid algorithm to x and p until we get the first rest term r_(n) such that r_(n) ²<p. A solution is given by setting s=r_(n).

Suppose we have a character χ_(α) where α can be for example πσ or π{overscore (σ)}. The computation of a residue character (σ/α)₃ can be done using a similar technique to the computation of the Jacobi symbol in the context of quadratic residuosity.

Indeed, this consists of reducing σ mod α by an Euclidean division in Z[ω] and then applying the cubic reciprocity law to exchange the two elements of the character. This last step can be done only after having extracted some units in order that a and a become primary. Then by iterating this operation, we reduce the size of the elements involved in the cubic residue character until this one becomes trivial. Note that the asymptotic complexity of the computation is O(log(n)³) using standard arithmetic and O(log(n)²)0 log(n) log log log(n)) using fast arithmetic. This is almost the same magnitude of complexity than the classical Jacobi symbol that is O(log(n)²). For more details about this algorithm and its complexity we refer to the article of R. Scheidler [R. Scheidler, “A Public-Key Cryptosystem Using Purely Cubic Fields”, Journal of Cryptology, 11, pp. 109-124, Springer, 1998].

Characters of Order 4

Studying the characters of order 4 consists principally of the theory of bi-quadratic residuosity. This one is quite similar to that of cubic residuosity and is done in the ring of Gaussian integers Z [i]. A rational prime p of the form p=1 (mod 4) is the norm of a prime π in Z [i]. The field Z [i]/(π) has the set of representatives {0, 1 . . . p−1} and is identical to Z_(p). The biquadratic residue character of an α∈Z [i] is defined as χ_(π)(α): =i^(j) where j∈{0, 1, 2, 3} and such that α^(N(π)−1)/4)≡i^(j) (mod π). Moreover, this character generates the two other nontrivial characters of order 4. Note also that the square of χ_(π) is equal to the quadratic residue character χ_(p) We can also define a Jacobi-like symbol in this context similarly to that in the theory of characters of order 3. Moreover, there is also a law of reciprocity in a similarly way as before.

Characters of Higher Orders

It is probably possible to extend our character constructions to some orders greater than 4. Indeed, there is a way to generalize the residuosity to higher orders by introducing a power residue symbol defined on the integers of a cyclotomic field. A general treatment of these cases would be beyond the scope of this paper. Moreover, the computation seems to be more difficult to deal with and the ring of these integers becomes a non unique factorization domain when the order is large. Since such a ring is not a principal ideal domain, we should work with ideals that are generated by more than one element. However, we do not loose the existence of the reciprocity laws, namely there exists a so called Kummer's reciprocity law on some integral ideals of a cyclotomic field (see F. Lemmermeyer, Reciprocity Laws, Monographs in Mathematics, Springer, 2000).

Application on Undeniable Signature

The above described group homomorphism of the undeniable signature scheme is in the context of characters to hard characters, which means a nontrivial character and for d=2 we also exclude the Jacobi symbol $\left( \frac{.}{n} \right).$

In a alternative embodiment in the key generation, we have the possibility to avoid the costly generation of primes in the generation of the hard characters (secret key). For d=3 or 4 we can also directly generate n=π{overscore (π)} from a random π∈Z [θ] and the hard character is χ=(./π)_(d). Note that in this case the factorization of n is unknown. In this case, the initial group G will be Z_(n)*.

Batch Verification

We point out that our scheme allows a batch verification of signatures. Indeed, the confirmation protocol can be easily adapted in order to confirm several signatures at the same time. To this end, the verifier simply computes the x_(i)'s of all messages with Gen₂ and continue the protocol as if the x_(i)'s were issued from one signed message.

We have exposed an undeniable signature based on a new problem that is quite general and we have also proved the security of our new scheme. The principal advantage is the size of the signature that can be chosen arbitrarily short. From this general setting we have also proposed a practical example with a 3 bytes signature and a complexity cost which is similar to RSA. We hope that this example will be completed by some various additional settings since group homomorphism are common objects in cryptography. This is let as future work. It would be also interesting to give some different classes of homomorphism for which the Group Homomorphism Interpolation Problem is hard. 

1. A method for generating an undeniable signature (y₁, . . . , y_(t)) on a set of data, the method comprising the following steps: transforming the set of data (m) to a sequence of a predetermined number (t) of blocks (x₁, . . . , x_(t)), these blocks being members of an Abelian group, this transformation being a one way function, applying to each block (x_(i)) a group homomorphism (f) to obtain a resulting value (y_(i)), in which a number of elements of an initial group (G) is larger than the number of elements (d) of a destination group (H).
 2. The method of claim 1, wherein the initial group (G) is formed by invertible integers modulo n, i.e. Z_(n)*.
 3. The method according to claim 2, wherein the group homomorphism (f) computation is based on computation of a residue character (χ) on a set of elements Z_(n)*.
 4. The method according to claim 3, wherein the residue character (χ) computation in based on a parameter (π) serving as a key.
 5. The method according to the claim 4, wherein this key parameter (π) is determined such as: π·{overscore (π)}=n, {overscore (π)} being the complex conjugate of π.
 6. The method according to claim 2, wherein the group homomorphism (f) computation is determined in raising an element of Z_(n)* to the power of r(q−1), in which n=p·q such that p=rd+1 and q are prime, gcd(r, d)=1, gcd(q−1, d)=1, then by computing a discrete logarithm.
 7. The method according to claim 6, wherein the group homomorphism is calculated using a factorization of n.
 8. The method according to claim 1, wherein the length of the signature is dependent of the number of elements of the destination group (d) and the number of blocks (t).
 9. The method according to claim 4, wherein the parameter (π) is a secret key on an asymmetric key pair public/secret.
 10. A Method of confirming by a Verifier an undeniable signature (y₁, . . . , y_(t)) of a set of data (m) generated by a Signer taking into account a predefined security parameter (k) of the confirmation protocol, this Signer having a public/secret key pair, this method comprising the following steps: obtaining a personal value (ρ) from the Signer, this personal value being part of the public key (G, H, d, ρ, (e₁, . . . e_(s))) of the Signer, extracting a first sequence of elements (e₁, . . . e_(s)) from the public key, generating a second sequence of elements (g₁, . . . g_(s)) from the personal value (ρ), generating a third sequence of elements (x₁, . . . , x_(t)) from the set of data (m), randomly picking challenge parameters r_(i)∈G and a_(ij)∈Z_(d) for i=1, . . . , k and j=1, . . . , s+t and computing a challenge value u_(i)=dr_(i)+a_(i1)g₁+ . . . a_(is)g_(s)+a_(is+1)y₁+ . . . +a_(is+t)y_(t), sending by the Verifier the challenge value u_(i) to the Signer, receiving from the Signer a commitment value (<v_(i)>), this commitment value (<v_(i)>) being calculated by the Signer based on a response value v_(i)=f(u_(i)), sending by the Verifier the challenge parameters r_(i) and a_(ij) to the Signer, verifying by the Signer whether u_(i)=dr_(i)+a_(i1)g₁+ . . . a_(is)g_(s)+a_(is+1)y₁+ . . . +a_(is+t)y_(t), and in the positive event, opening by the Signer the commitment on the response value (v_(i)), verifying by the Verifier whether v_(i)=a_(i1)e₁+ . . . a_(is)e_(s)+a_(is+1)y₁+ . . . +a_(is+t)y_(t).
 11. A method for denying to a Verifier by a Signer on an alleged non-signature (z1, . . . , zt) of a set of data (m), this signature being supposedly generated according to claim 1 by the Signer, this Signer having a public/secret key pair, this method taking into account a predefined security parameter (l) of the denial protocol and comprising the following steps: obtaining by the Verifier a personal value (ρ) of the Signer, this personal value being part of the public key (G, H, d, ρ, (e₁, . . . e_(s))) of the Signer, extracting by the Verifier a first sequence of elements (e₁, . . . e_(s)) from the public key, generating by the Verifier and the Signer a second sequence of elements (g₁, . . . g_(s)) from the personal value (ρ), generating by the Verifier and the Signer a third sequence of elements (x₁, . . . , x_(i)) from the set of data (m), calculating by the Signer the true signature (y₁, . . . , y_(t)), repeating the following steps l times, l being the predetermined security parameter, randomly picking by the Verifier challenge parameters r_(j)∈G and a_(ji)∈Z_(d) for i=1, . . . , s and j=1, . . . , t and λ∈Z_(p)* where p is the smallest prime dividing d, computing u_(j): =dr_(j)+a_(j1)g₁+ . . . a_(js)g_(s)+λx_(j), and w_(j): =a_(j1)e₁+ . . . a_(js)e_(s)+λz_(j) for j=1 . . . t, sending by the Verifier the challenge values u_(j) and w_(j) to the Signer, computing by the Signer a response test value TV_(j): =(z_(j)-y_(j)). for each j=1 to t, determining whether the test value TV_(j)=0, in the negative event, calculating a test parameter λ_(j) according to the following formula: w_(j)-v_(j,)=λ_(j)(z_(j)-y_(j)) determining an intermediate value IV, this value being equal to one valid test parameter λ and in case of no valid test parameter is found, selecting as intermediate value a random value, sending a commitment value CT based on the intermediate value IV, to the Verifier, sending by the Verifier the challenge parameters r_(j), a_(ji) and test parameter λ to the Signer, verifying by the Signer whether u_(j)=dr_(j)+a_(j1)g₁+ . . . a_(js)g_(s)+λx_(j) and w_(j): =a_(j1)e₁+ . . . a_(js)e_(s)+λz_(j) for j=1 . . . t hold, in the positive event, the Signer opens the commitment on the intermediate value (IV) to the Verifier. verifying by the Verifier that the test parameter λ is equal to the intermediate value IV.
 12. The method of claim 11, in which the determination of the valid test parameter comprises the check whether (w_(j)-v_(j,)) and (z_(j)-y_(j)) are not equal to
 0. 13. The method of claim 11, in which j>1, the determination of the valid test parameter comprises the check whether (w_(j)-v_(j,)) and (z_(j)-y_(j)) are not equal to 0, and that all of the test parameters are the same. 